// 函数类型

// 函数输入参数，输出类型约束
// 1. 函数声明的方式，【可选参数，参数默认值】需要出现在参数的最后，任意个参数用rest
function func1 (a: number, b?: number, ...rest: number[]): string {
  return 'tvvv'
}
// 传入参数个数需要一致
func1(100, 200)
func1(100)

// 2. 函数表达式
const func2: (a: number, b: number) => string = function(a: number, b: number): string {
  return 'str2'
}
